<!-- <!DOCTYPE html> -->
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/common.js"></script>
</head>

<body>

</body>
<script>
    // 递归  
    // 函数在执行过程中 调用了自己;

    // 注意: 递归一定要有跳出条件

    // 死递归   => 类似死循环
    // function fn(){
    //     console.log("这是fn函数");
    //     fn();
    // }
    
    // fn();
    
    // 有点类似死循环
    var i = 1;
    var sum = 0;
    while(true){
        console.log(i);
        sum += i;

        if(i == 100) break;   //跳出条件

        i++;
    }
    console.log(sum);

    // // 递归理解版
    // var i = 1;
    // var sum = 0;

    // function fn(){
    //     console.log(i);
    //     sum += i;
    //     if(i == 100){
    //         return sum;
    //     }
    //     i++;
    //     fn();
    // }

    // // fn(1)  ....  fn(50) ... fn(100)
    // // 

    // var result = fn();
    // console.log(result);
    // console.log(sum);


     // 递归 形参 理解版 (n...100)
    // function fn(i,sum){
    //     console.log(i,sum);
    //     sum += i;
    //     if(i == 100){
    //         return sum;
    //     }
    //     return fn(i+1,sum);
    // }

    // // i递增  sum 将上次运行结果 传入到下个函数(保持累加)
    // // fn(1,0)  => fn(2,1)  => fn(3,3)   ....  fn(100,4950)

    // var result = fn(1,0);
    // console.log(result);


    function fn(i,sum){
        console.log(i,sum);
        sum += i;
        if(i == 1){
            return sum;
        }
        return fn(i-1,sum);
    }

    // i递增  sum 将上次运行结果 传入到下个函数(保持累加)
    // fn(10,0)  => fn(9,10)  => fn(8,19)   ....  fn(1,54)

    var result = fn(10,0);
    console.log(result);




    











</script>

</html>